import { initMixin } from "./init";

//vue 要如何实现 原型模式 所有的功能都通过原型扩展的方式来添加
function Vue(options) {
    //实现vue的初始化功能
    this._init(options);
}

initMixin(Vue);
//导出给别人使用
export default Vue

//1 new Vue会调用——int方法进行初始化操作
//2 会将用户的选项放到vm.options上
// 3.会对当前属性上搜索有没有data数据 initSate
//4.有data,判断dadta是不是一个函数，如果是函数返回值initData
//5.observe去观测data中的数据和vm没关系 说明data已经变成了响应式
//6.vm上取值也能取到data中的数据 vm._data = data  这样用户能取到data vm._data
//7.用户觉得有点麻烦 vm.xxx => vm._data

//如果有el需要挂载到页面上
//如果是数组更新
//9. 如果是替换成一个新对象，新对象会被劫持，
//通过__obj__jin
//10 如果你就想改索引 可以使用$set